This invention relates generally to rendering graphical objects, and more particularly, to combining polygon and volume graphic objects.
The field of rendering three-dimensional (3D) objects or synthetic models can be partitioned into two main areas: polygon rendering and volume rendering. Polygon rendering is only concerned with the surface topology, whereas volume rendering also deals with the internal structure of objects or models.
Polygon Rendering
In processors and processes designed for polygon rendering, the surfaces of the object or model are described in terms of polygons, e.g., triangles and lines. These fundamental geometric components are used to generate constituent xe2x80x9cfragmentsxe2x80x9d representing the outer surface of the object. A fragment is defined as all information (data) required to render (draw) a single image pixel that is on the surface, for example, the x and y coordinates of the pixel, the red, green, and blue color values of the pixel alpha transparency, depth values, texture coordinates, and the like. Fragments can be blended into a color (or image) buffer before being rendered as pixels.
Volume Rendering
In processors and processes designed for volume rendering, the basic building block is a 3D voxel. Depending on a viewing or projecting orientation (view frustum), voxels can be interpolated to yield volume samples. The interpolated volume samples can be considered to be equivalent to fragments as defined above. A base plane used during volume rendering can also be considered equivalent to the image plane. This correspondence makes it easier to integrate polygon rendering with volume rendering and application programming interfaces of commonly used rendering systems.
Combined Polygon and Volume Rendering
Often, it is important to combine polygon and volume rendering. For example, a surface terrain is better rendered with polygons, because flat terrain is generally homogeneous. Other effects, such as fog, are more effectively rendered with volume graphics techniques, because fog particles are intrinsically specified by their voxel values.
Mixed polygon and volume rendering is particularly useful for visualization, especially in medical applications, as described by Kaufamn et al. in xe2x80x9cIntermixing Surface and Volume Rendering,xe2x80x9d Proc. Nato90, Berlin, 1990, vol. 60, pp. 217-227, Springer Verlag Berlin, and by Ebert et al. in xe2x80x9cRendering and Animation of Gaseous Phenomena by Combining Fast Volume and Scanlie A-Buffer techniques,xe2x80x9d Proc. SIGGRAPH ""90, 1990. Mixed polygon and volume rendering combines the speed and storage efficiency of polygonal representations with the realism of volume graphics.
In enhanced reality applications, such as computer assisted surgery guidance as described by Kikinis et al. in xe2x80x9cComputer Assisted Interactive Three-Dimensional Planning for Neurosurgical Procedures,xe2x80x9d Neurosurgery, Vol. 38, No. 4, pp. 640-651, 1996, or virtual endoscopy surgery simulation, as described by Geiger et al. in xe2x80x9cSimulation of Endoscopy,xe2x80x9d Comp. Vision Virtual reality and Robotics in Med., Niece, France, 1995, pp. 227-281, the intermixing of volume objects and polygon objects allows one to choose the best representation for a particular scene.
Sampled volume data, such as CT or MR images can be directly combined with synthetic objects such as surgical instruments, probes, catheters, prostheses, and landmarks displayed as glyphs. In some instances, preoperatively derived surface models for certain anatomical structures are more appropriate. For example, skin is more efficiently stored, and better visualized as a polygon mesh.
Converting Polygons to Volume Samples
One straightforward way of mixing polygon and volume rendering is to first convert the polygonal models into sampled volumes, and then to render the converted models with volume rendering techniques, see Sobierajski et al. in xe2x80x9cVolumetric Ray Tracing,xe2x80x9d Proc. Symposium on Volume Visualization, Washington D.C., 1994. This method is computationally expensive, because each pixel of converted polygons must be represented as a voxel, thus giving up the speed and storage advantages of polygons as described above.
Simultaneous Ray Casting
Another way to combine polygon and volume rendering is to simultaneously cast rays through both the polygonal and volume data, resample both data at the same sample intervals, and then to composite the colors and opacities in depth sort order as described by Levoy in xe2x80x9cEfficient Ray Tracing of Volume Data,xe2x80x9d ACM Trans. On Volume Graphics, Vol. 9, No. 3, pp. 245-261, 1990. There, polygons and volumes are ray traced, with each pixel and voxel being depth sorted and merged. The method requires ray tracing of polygons, as opposed to the usual efficient scan conversion techniques. Ray tracing makes it impractical to use conventional polygon rendering hardware, further reducing the efficiency of the method.
Therefore, there is a need for a method which efficiently allows one to combine polygon and volume rendering.
The invention combines polygon and volume representations of graphical objects during rendering. The combined rendering can take advantage of the rendering ease of polygons, and the richness of volume graphic techniques.
The combination is made possible by first forming a depth-related approximation of the volume graphics object. This is done by casting rays through the object, and segmenting the rays according to volume surfaces. The segmenting produces depth information which is sorted in an ascending order. In addition, color and opacity values are accumulated according to the ray segments. Pairs of segment depths are used to define front and back clip planes, and polygons intersecting the clip surfaces are broken into smaller non-intersecting polygons.
For each pair of clip planes, interleave geometry-pixel and volume-pixel compositing as follows. Front-to-back composite rasterized geometry between the current front clip plane and a next volume surface, front-to-back composite volume-pixels between the clip planes, and front-to-back composite rasterized geometry between the next volume surface and the back clip plane.